package ace.module.oauth2.server.core.impl.authentication.ace.factory;

import ace.module.oauth2.server.api.callback.Oauth2AceAuthenticationCallbackApi;
import ace.module.oauth2.server.api.callback.Oauth2AceAuthorizationCallbackApi;
import ace.module.oauth2.server.core.impl.dao.entity.Oauth2RegisteredClientAuthConfig;

/**
 * 认证实现接口工厂.
 *
 * @author caspar
 */
public interface CallbackApiBeanFactory {

  Oauth2AceAuthenticationCallbackApi getOrCreateAuthCallbackApi(Oauth2RegisteredClientAuthConfig oauth2RegisteredClientAuthConfig);

  Oauth2AceAuthorizationCallbackApi getOrCreateUserInfoCallbackApi(Oauth2RegisteredClientAuthConfig oauth2RegisteredClientAuthConfig);
}
